const ws = require('nodejs-websocket')
// 记录当前连接上来的总的用户数量
let count = 0
// 每个连接到服务器的用户都会有一个coon
const server = ws.createServer(coon => {
    console.log('新的连接')
    // 接收浏览器的数据
    console.log('新的连接')
    count++
    coon.userName = `用户${count}`
    // 1、告诉所有用户有人加入聊天室
    broadcast(`${coon.userName}进入了聊天室`)
    coon.on('text', data => {
        // 2、当接收到某个用户的信息的时候，告诉所有用户，发送的内容是什么
        broadcast(data)
    })
    // 关闭浏览器的时候触发
    coon.on('close', data => {
        console.log('关闭连接')
        count--
        // 3、高所所有人有人离开了
        broadcast(`${coon.userName}离开了聊天室`)
     })
    // 服务异常的时候触发
    coon.on('error', data => {
        console.log('服务异常')
    })
})

// 广播。给所有用户发消息
function broadcast(msg) {
    // server.connections表示所有的用户
    server.connections.forEach(item => {
        item.send(msg)
    })
}

server.listen(3000, () => {
    console.log('监听端口3000')
})